	ALIGN 256
volume_map
	DB $00,$01,$02,$03,$04,$05,$06,$07,$08
	DB $00,$01,$02,$03,$04,$05,$06,$07,$08
	DB $00,$01,$02,$03,$04,$05,$05,$06,$07
	DB $00,$01,$02,$03,$03,$04,$05,$06,$07
	;
	DB $00,$01,$02,$02,$03,$04,$05,$06,$06
	DB $00,$01,$02,$02,$03,$04,$05,$05,$06
	DB $00,$01,$01,$02,$03,$04,$04,$05,$06
	DB $00,$01,$01,$02,$03,$03,$04,$05,$05
	;
	DB $00,$01,$01,$02,$02,$03,$04,$04,$05
	DB $00,$01,$01,$02,$02,$03,$03,$04,$04
	DB $00,$01,$01,$02,$02,$03,$03,$04,$04
	DB $00,$00,$01,$01,$02,$02,$03,$03,$04
	;
	DB $00,$00,$01,$01,$02,$02,$02,$03,$03
	DB $00,$00,$01,$01,$01,$02,$02,$02,$03
	DB $00,$00,$01,$01,$01,$02,$02,$02,$02
	DB $00,$00,$01,$01,$01,$01,$02,$02,$02
	;
	DB $00,$00,$00,$01,$01,$01,$01,$01,$02
	DB $00,$00,$00,$00,$01,$01,$01,$01,$01
	DB $00,$00,$00,$00,$00,$01,$01,$01,$01
	DB $00,$00,$00,$00,$00,$00,$00,$00,$01
	;
	DB $00,$00,$00,$00,$00,$00,$00,$00,$00	; 21
	;
Channel1   
	DW pat_q1
	;
	DW pat_acc
	DW pat_acc
	;
	DW pat_acc
	DW pat_acc
	;
	DW pat_lead_harmony
	;
	DW 0
Channel2
	DW pat_lead_g
	DW pat_lead  
	;
	DW pat_lead_g_hi
	DW pat_lead_hi
	;
	DW pat_lead_g
	DW pat_lead
	;
	DW 0
	
arpeggio
arpCC
	DB 24,12,0,$80
arp37
	DB 12,7,7,3,3,0,0,$81
arp38
	DB 12,8,8,3,3,0,0,$81
arp47
	DB 12,7,7,4,4,0,0,$81
arp59
	DB 12,9,9,5,5,0,0,$81

vol_default
vol_new
	DB 4,8,7,6,6,5,5,4,4,3,3,2,2,1,1
	;DB 8,6,4,2,1,5,4,3,2,1,3,2,2,1,1
	DB $FF
	
LEN = $40
VOL = $E0

speed=15

s_def = $F0
s_arp = $F1
s_bdr = $F2
s_snr = $F3
s_gld = $F4

pat_loop
	DB s_bdr,LEN+speed*1,C0
	DB s_def,C0,C0,C0
	DB s_snr,C2
	DB s_def,OFF,OFF
	DB s_bdr,C0
	DB s_def,OFF,OFF
	DB s_bdr,C0     
	DB s_def,OFF    
	DB s_snr,C2         
	DB s_def,OFF,OFF,OFF
	;
	DB s_bdr,LEN+speed*1,C0
	DB s_def,C0,C0,C0
	DB s_snr,C2
	DB s_def,OFF,OFF
	DB s_bdr,C0
	DB s_def,OFF,OFF
	DB s_bdr,C0     
	DB s_def,OFF    
	DB s_snr,C2         
	DB s_def,Ci0,Ci0,Ci0
	;
	DB END_MARK
	
pat_quiet
	DB s_def
	DB LEN+speed*8
	DB OFF,OFF,OFF,OFF
	DB END_MARK
	
pat_lead_g
	DB s_def,LEN+speed*1,G1
	DB END_MARK
        
pat_lead
	DB s_def,LEN+speed*1,C2
	DB                   OFF
	DB                   C2
	DB                   C2
	DB                   OFF
	;
	DB                   E2
	DB                   D2
	DB                   OFF
	DB                   C2
	DB                   D2
	DB                   OFF
	;
	DB                   E2
	DB                   C2
	DB                   OFF
	DB                   C2
	DB                   E2
	DB                   OFF
	;
	DB                   G2
	DB                   A2
	DB       LEN+speed*4,OFF
	;
	; ---
	;
	DB       LEN+speed*1,A2
	DB                   G2
	DB                   OFF
	DB                   E2
	DB                   E2
	DB                   OFF
	;
	DB                   C2
	DB                   D2
	DB                   OFF
	DB                   C2
	DB                   D2
	DB                   OFF
	;
	DB                   E2
	DB                   C2
	DB                   OFF
	DB                   A1
	DB                   A1
	DB                   OFF
	;
	DB                   G1
	DB                   C2
	DB       LEN+speed*4,OFF
	;
	; --- ---
	;
	DB       LEN+speed*1,A2
	DB                   G2
	DB                   OFF
	DB                   E2
	DB                   E2
	DB                   OFF
	;
	DB                   C2
	DB                   D2
	DB                   OFF
	DB                   C2
	DB                   D2
	DB                   OFF
	;
	DB                   A2
	DB                   G2
	DB                   OFF
	DB                   E2
	DB                   E2
	DB                   OFF
	;
	DB                   G2
	DB                   A2
	DB       LEN+speed*4,OFF
	;
	; ---
	;
	DB       LEN+speed*1,C3
	DB                   G2
	DB                   OFF
	DB                   E2
	DB                   E2
	DB                   OFF
	;
	DB                   C2
	DB                   D2
	DB                   OFF
	DB                   C2
	DB                   D2
	DB                   OFF
	;
	DB       LEN+8,      E2
	DB       LEN+7,      D2
	DB       LEN+speed*1,C2
	DB                   OFF
	DB                   A1
	DB                   A1
	DB                   OFF
	;
	DB                   G1
	DB                   C2
	DB       LEN+speed*4,OFF
	;
	DB END_MARK
	
pat_lead_g_hi
	DB s_def,LEN+speed*1,G2
	DB END_MARK
        
pat_lead_hi
	DB s_def,LEN+speed*1,C3
	DB                   OFF
	DB                   C3
	DB                   C3
	DB                   OFF
	;
	DB                   E3
	DB                   D3
	DB                   OFF
	DB                   C3
	DB                   D3
	DB                   OFF
	;
	DB                   E3
	DB                   C3
	DB                   OFF
	DB                   C3
	DB                   E3
	DB                   OFF
	;
	DB                   G3
	DB                   A3
	DB       LEN+speed*4,OFF
	;
	; ---
	;
	DB       LEN+speed*1,A3
	DB                   G3
	DB                   OFF
	DB                   E3
	DB                   E3
	DB                   OFF
	;
	DB                   C3
	DB                   D3
	DB                   OFF
	DB                   C3
	DB                   D3
	DB                   OFF
	;
	DB                   E3
	DB                   C3
	DB                   OFF
	DB                   A2
	DB                   A2
	DB                   OFF
	;
	DB                   G2
	DB                   C3
	DB       LEN+speed*4,OFF
	;
	; --- ---
	;
	DB       LEN+speed*1,A3
	DB                   G3
	DB                   OFF
	DB                   E3
	DB                   E3
	DB                   OFF
	;
	DB                   C3
	DB                   D3
	DB                   OFF
	DB                   C3
	DB                   D3
	DB                   OFF
	;
	DB                   A3
	DB                   G3
	DB                   OFF
	DB                   E3
	DB                   E3
	DB                   OFF
	;
	DB                   G3
	DB                   A3
	DB       LEN+speed*4,OFF
	;
	; ---
	;
	DB       LEN+speed*1,C4
	DB                   G3
	DB                   OFF
	DB                   E3
	DB                   E3
	DB                   OFF
	;
	DB                   C3
	DB                   D3
	DB                   OFF
	DB                   C3
	DB                   D3
	DB                   OFF
	;
	DB       LEN+8,      E3
	DB       LEN+7,      D3
	DB       LEN+speed*1,C3
	DB                   OFF
	DB                   A2
	DB                   A2
	DB                   OFF
	;
	DB                   G2
	DB                   C3
	DB       LEN+speed*4,OFF
	;
	DB END_MARK
	
pat_lead_harmony
	;DB s_def,LEN+speed*1,E1
	DB s_def,LEN+speed*1,G1
	DB                   OFF
	DB                   G1
	DB                   G1
	DB                   OFF
	;
	DB                   C2
	DB                   B1
	DB                   OFF
	DB                   G1
	DB                   B1
	DB                   OFF
	;
	DB                   C2
	DB                   A1
	DB                   OFF
	DB                   A1
	DB                   C2
	DB                   OFF
	;
	DB                   E2
	DB                   F2
	DB       LEN+speed*4,OFF
	;
	; ---
	;
	DB       LEN+speed*1,E2
	DB                   E2
	DB                   OFF
	DB                   C2
	DB                   C2
	DB                   OFF
	;
	DB                   G1
	DB                   B1
	DB                   OFF
	DB                   G1
	DB                   B1
	DB                   OFF
	;
	DB                   C2
	DB                   A1
	DB                   OFF
	DB                   F1
	DB                   F1
	DB                   OFF
	;
	DB                   E1
	DB                   G1
	DB       LEN+speed*4,OFF
	;
	; --- ---
	;
	DB       LEN+speed*1,E2
	DB                   E2
	DB                   OFF
	DB                   C2
	DB                   C2
	DB                   OFF
	;
	DB                   G1
	DB                   B1
	DB                   OFF
	DB                   G1
	DB                   B1
	DB                   OFF
	;
	DB                   E2
	DB                   E2
	DB                   OFF
	DB                   C2
	DB                   C2
	DB                   OFF
	;
	DB                   E2
	DB                   F2
	DB       LEN+speed*4,OFF
	;
	; ---
	;
	DB       LEN+speed*1,G2
	DB                   E2
	DB                   OFF
	DB                   C2
	DB                   C2
	DB                   OFF
	;
	DB                   G1
	DB                   B1
	DB                   OFF
	DB                   G1
	DB                   B1
	DB                   OFF
	;
	DB       LEN+8,      C2
	DB       LEN+7,      B1
	DB       LEN+speed*1,A1
	DB                   OFF
	DB                   F1
	DB                   F1
	DB                   OFF
	;
	DB                   E1
	DB                   G1
	DB       LEN+speed*4,OFF
	;
	DB END_MARK

pat_q1	
	DB s_def,LEN+speed*1,OFF
	DB END_MARK
	
pat_acc
	DB s_def,LEN+speed*1,C0
	DB SET_ARP
	DW arp59
	DB s_arp,            G1
	DB                   G1
	;
	DB s_def,            C0
	DB s_arp,            G1
	DB                   G1
	;---
	DB s_def,            G0
	DB SET_ARP
	DW arp47
	DB s_arp,            G1
	DB                   G1
	;
	DB s_def,            G0
	DB s_arp,            G1
	DB                   G1
	;---
	DB s_def,            A0
	DB SET_ARP
	DW arp37
	DB s_arp,            A1
	DB                   A1
	;
	DB s_def,            A0
	DB s_arp,            A1
	DB                   A1
	;---
	DB s_def,            F0
	DB SET_ARP
	DW arp38
	DB s_arp,            A1
	DB                   A1
	;
	DB s_def,            F0
	DB s_arp,            A1
	DB                   A1
	;---
	;------------------------
	;
	DB s_def,            C0
	DB SET_ARP
	DW arp59
	DB s_arp,            G1
	DB                   G1
	;
	DB s_def,            C0
	DB s_arp,            G1
	DB                   G1
	;---
	DB s_def,            G0
	DB SET_ARP
	DW arp47
	DB s_arp,            G1
	DB                   G1
	;
	DB s_def,            G0
	DB s_arp,            G1
	DB                   G1
	;---
	DB s_def,            A0
	DB SET_ARP
	DW arp37
	DB s_arp,            A1
	DB                   A1
	;
	DB s_def,            F0
	DB SET_ARP
	DW arp38
	DB s_arp,            A1
	DB                   A1
	;---
	DB s_def,            C0
	DB SET_ARP
	DW arp59
	DB s_arp,            G1
	DB                   G1
	;
	DB s_def,            C0
	DB s_arp,            G1
	DB                   G1
	;
	DB END_MARK

pat_glide
	DB s_gld
	DB LEN+speed*1
	DB C1,G1,C2,C1,G1,C2
	DB C1,G1,C2,C1,G1,C2
	DB Ci1,Gi1,Ci2
	DB s_def,OFF
	;
	DB s_gld
	DB LEN+speed*1
	DB C1,G1,C2,C1,G1,C2
	DB C1,G1,C2,C1,G1,C2
	DB Ci1,Gi1,Ci2,Gi1
	;
	DB s_gld
	DB LEN+speed*1
	DB C1,G1,C2,C1,G1,C2
	DB C1,G1,C2,C1,G1,C2
	DB Ci1,Gi1,Ci2
	DB s_def,OFF
	;
	DB s_gld
	DB LEN+speed*1
	DB C1,G1,C2,C1,G1,C2
	DB C1,G1,C2,Ci1,Gi1,Ci2,Gi1
	DB Ci1,Gi1,Ci2
	;
	DB END_MARK
